home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / png.h < prev    next >
C/C++ Source or Header  |  1999-05-24  |  2KB  |  74 lines

  1.  
  2. #ifndef MAME_PNG_H
  3. #define MAME_PNG_H
  4.  
  5.  
  6. #define PNG_Signature       "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A"
  7.  
  8. #define PNG_CN_IHDR 0x49484452L     /* Chunk names */
  9. #define PNG_CN_PLTE 0x504C5445L
  10. #define PNG_CN_IDAT 0x49444154L
  11. #define PNG_CN_IEND 0x49454E44L
  12. #define PNG_CN_gAMA 0x67414D41L
  13. #define PNG_CN_sBIT 0x73424954L
  14. #define PNG_CN_cHRM 0x6348524DL
  15. #define PNG_CN_tRNS 0x74524E53L
  16. #define PNG_CN_bKGD 0x624B4744L
  17. #define PNG_CN_hIST 0x68495354L
  18. #define PNG_CN_tEXt 0x74455874L
  19. #define PNG_CN_zTXt 0x7A545874L
  20. #define PNG_CN_pHYs 0x70485973L
  21. #define PNG_CN_oFFs 0x6F464673L
  22. #define PNG_CN_tIME 0x74494D45L
  23. #define PNG_CN_sCAL 0x7343414CL
  24.  
  25. #define PNG_PF_None     0   /* Prediction filters */
  26. #define PNG_PF_Sub      1
  27. #define PNG_PF_Up       2
  28. #define PNG_PF_Average  3
  29. #define PNG_PF_Paeth    4
  30.  
  31. /* PNG support */
  32. struct png_info {
  33.     UINT32 width, height;
  34.     UINT32 xoffset, yoffset;
  35.     UINT32 xres, yres;
  36.     double xscale, yscale;
  37.     double source_gamma;
  38.     UINT32 chromaticities[8];
  39.     UINT32 resolution_unit, offset_unit, scale_unit;
  40.     UINT8 bit_depth;
  41.     UINT32 significant_bits[4];
  42.     UINT32 background_color[4];
  43.     UINT8 color_type;
  44.     UINT8 compression_method;
  45.     UINT8 filter_method;
  46.     UINT8 interlace_method;
  47.     UINT32 num_palette;
  48.     UINT8 *palette;
  49.     UINT32 num_trans;
  50.     UINT8 *trans;
  51.     UINT8 *image;
  52.  
  53.     /* The rest is private and should not be used
  54.      * by the public functions
  55.      */
  56.     UINT8 bpp;
  57.     UINT32 rowbytes;
  58.     UINT8 *zimage;
  59.     UINT32 zlength;
  60.     UINT8 *fimage;
  61. };
  62.  
  63. int png_verify_signature (void *fp);
  64. int png_inflate_image (struct png_info *p);
  65. int png_read_file(void *fp, struct png_info *p);
  66. int png_expand_buffer_8bit (struct png_info *p);
  67. void png_delete_unused_colors (struct png_info *p);
  68. int png_unfilter(struct png_info *p);
  69.  
  70. int png_write_bitmap(void *fp, struct osd_bitmap *bitmap);
  71.  
  72. #endif
  73.  
  74.